Add Cambridge Beer Festival 2026 to festival data feed - #222
Conversation
Adds cbf2026 (May 18-23, 2026, Jesus Green) as the new default active festival, deactivates cbf2025, and updates the DefaultFestivals fallback and associated model tests. https://claude.ai/code/session_01CCeyxeuivbX5jWR4YJSxV9
Schema lives at docs/code/api/ not docs/api/ — caused CI to fail with ENOENT. https://claude.ai/code/session_01CCeyxeuivbX5jWR4YJSxV9
There was a problem hiding this comment.
Pull request overview
This PR updates the festival registry and hardcoded festival metadata to introduce Cambridge Beer Festival 2026 as the active/default festival in the app, while retiring 2025 from the active set. It fits into the app’s festival-selection flow by keeping both the remote metadata feed and local default festival definitions aligned for the new season.
Changes:
- Added
cbf2026festival metadata to the bundled registry and made it the newdefault_festival_id. - Added a new
DefaultFestivals.cambridge2026entry and markedcambridge2025inactive. - Updated model tests to expect four predefined festivals and the inactive 2025 fallback entry.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
test/models_test.dart |
Updates model expectations for 2025 inactivity and the expanded default festival list. |
lib/models/festival.dart |
Adds the new hardcoded 2026 festival definition and includes it in DefaultFestivals.all. |
data/festivals.json |
Adds 2026 to the remote festival registry, switches the default festival ID, and bumps metadata versioning. |
| static final cambridge2026 = Festival( | ||
| id: 'cbf2026', | ||
| name: 'Cambridge Beer Festival 2026', | ||
| hashtag: '#cbf2026', | ||
| startDate: DateTime(2026, 5, 18), | ||
| endDate: DateTime(2026, 5, 23), | ||
| location: 'Jesus Green, Cambridge', | ||
| description: 'The Cambridge Beer Festival 2026', | ||
| websiteUrl: 'https://www.cambridgebeerfestival.com', | ||
| availableBeverageTypes: [ | ||
| 'beer', | ||
| 'international-beer', | ||
| 'cider', | ||
| 'perry', | ||
| 'mead', | ||
| 'wine', | ||
| 'apple-juice', | ||
| 'low-no', | ||
| ], | ||
| dataBaseUrl: 'https://data.cambeerfestival.app/cbf2026', | ||
| isActive: true, |
| expect(festivals.length, 4); | ||
| expect(festivals.map((f) => f.id), contains('cbf2026')); |
LCOV of commit
|
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Runs the same festivals.json schema check as CI so it can be run locally before pushing: ./bin/mise run validate:festivals https://claude.ai/code/session_01CCeyxeuivbX5jWR4YJSxV9
🚀 Cloudflare Pages PreviewYour preview deployment is ready! Preview URL: https://claude-update-festival-data.staging-cambeerfestival.pages.dev This preview will be automatically updated when you push new commits to this PR. |
- Update BeerProvider hardcoded fallback from cambridge2025 to cambridge2026 - Add dedicated configuration test for DefaultFestivals.cambridge2026 - Update router and provider tests to expect cbf2026 as the fallback festival https://claude.ai/code/session_01CCeyxeuivbX5jWR4YJSxV9
BeerProvider now falls back to the first active festival in DefaultFestivals.all rather than a specific named instance, so next year's update only needs to change DefaultFestivals — not the provider or tests. https://claude.ai/code/session_01CCeyxeuivbX5jWR4YJSxV9
🚀 Cloudflare Pages PreviewYour preview deployment is ready! Preview URL: https://claude-update-festival-data.staging-cambeerfestival.pages.dev This preview will be automatically updated when you push new commits to this PR. |
Adds cbf2026 (May 18-23, 2026, Jesus Green) as the new default active
festival, deactivates cbf2025, and updates the DefaultFestivals fallback
and associated model tests.
https://claude.ai/code/session_01CCeyxeuivbX5jWR4YJSxV9